bd0b289f8c0f4630e4a1dbe8b07f85f291674e81,Alkitab/src/main/java/yuku/alkitab/base/ac/VersionsActivity.java,VersionsActivity,openUrlInputDialog,#,597

Before Change


	void openUrlInputDialog() {
		new MaterialDialog.Builder(this)
			.customView(R.layout.dialog_version_add_from_url, false)
			.positiveText(R.string.ok)
			.callback(new MaterialDialog.ButtonCallback() {
				@Override
				public void onPositive(final MaterialDialog dialog) {
					final EditText tUrl = V.get(dialog.getCustomView(), R.id.tUrl);

After Change


	void openUrlInputDialog() {
		new MaterialDialog.Builder(this)
			.customView(R.layout.dialog_version_add_from_url, false)
			.positiveText(R.string.ok)
			.onPositive((dialog, which) -> {
				final EditText tUrl = V.get(dialog.getCustomView(), R.id.tUrl);

				final String url = tUrl.getText().toString().trim();
				if (url.length() == 0) {
					return;
				}

				final Uri uri = Uri.parse(url);
				final String scheme = uri.getScheme();
				if (!U.equals(scheme, "http") && !U.equals(scheme, "https")) {
					new MaterialDialog.Builder(VersionsActivity.this)
						.content(R.string.version_download_invalid_url)
						.positiveText(R.string.ok)
						.show();
					return;
				}

				// guess destination filename
				String last = uri.getLastPathSegment();
				if (TextUtils.isEmpty(last) || !last.toLowerCase(Locale.US).endsWith(".yes")) {
					new MaterialDialog.Builder(VersionsActivity.this)
						.content(R.string.version_download_not_yes)
						.positiveText(R.string.ok)
						.show();
					return;
				}

				{
					final String downloadKey = "version:url:" + url;

					final int status = DownloadMapper.instance.getStatus(downloadKey);
					if (status == DownloadManager.STATUS_PENDING || status == DownloadManager.STATUS_RUNNING) {
						// it's downloading!
						return;
					}

					final DownloadManager.Request req = new DownloadManager.Request(Uri.parse(url))
						.setTitle(last)
						.setVisibleInDownloadsUi(false)
						.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE);

					final Map<String, String> attrs = new LinkedHashMap<>();
					attrs.put("download_type", "url");
					attrs.put("filename_last_segment", last);

					DownloadMapper.instance.enqueue(downloadKey, req, attrs);
				}
			})
			.show();
	}

	@Override